/*
 * 微信内置浏览器相关代码
 * 微信js-sdk
 * 参考文档：https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
 * 作者：gzt
 * 时间：2019-11-30 18:02:11
 */

import wx from 'weixin-js-sdk'
import Axios from 'axios'

/*
 * 封装后的整个微信api接口
 * 作者：gzt
 * 时间：2019-12-04 09:02:23
 */
const wx_api = {

    /*
     * 微信初始化注册，调用后台进行相关配置的获取
     * 作者：gzt
     * 时间：2019-12-04 08:58:34
     */
    wx_register(callback,url) {
        Axios.post('/api/wx/config', {
            url:url
        }, {
            timeout: 5000,
            withCredentials: true
        }).then((res) => {
            let data = res.data.data
            wx.config({
                debug: false, // 开启调试模式
                appId: data.appId, // 必填，公众号的唯一标识
                timestamp: data.timestamp, // 必填，生成签名的时间戳
                nonceStr: data.noncestr, // 必填，生成签名的随机串
                signature: data.signature, // 必填，签名
                // jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone']
                jsApiList: ['hideMenuItems','hideAllNonBaseMenuItem']
            })
        }).catch((error) => {
            console.log(error)
        })
        wx.ready((res) => {
            wx.hideAllNonBaseMenuItem();
            // 方法的回调
            if (callback) {
                callback()
            }
        })
    },

    /*
     * 微信中分享到朋友圈的操作
     * 作者：gzt
     * 时间：2019-12-04 09:00:24
     */
    share_timeline(option) {
        wx.onMenuShareTimeline({
            title: option.title, // 分享标题
            link: option.link, // 分享链接
            imgUrl: option.imgUrl, // 分享图标
            success() {
                // 用户成功分享后执行的回调函数
                option.success()
            },
            cancel() {
                // 用户取消分享后执行的回调函数
                option.error()
            }
        })
    },

    /*
     * 分享给微信好友
     * 作者：gzt
     * 时间：2019-12-04 09:01:13
     */
    share_app_message(option) {
        wx.onMenuShareAppMessage({
            title: option.title, // 分享标题
            desc: option.desc, // 分享描述
            link: option.link, // 分享链接
            imgUrl: option.imgUrl, // 分享图标
            success() {
                // 用户成功分享后执行的回调函数
                option.success()
            },
            cancel() {
                // 用户取消分享后执行的回调函数
                option.error()
            }
        })
    }
}

export default wx_api